    <!DOCTYPE html>
<html lang="zh-cn">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		
		<meta name="description" content="Nodejh&#39;s Blog">
		<meta name="generator" content="Hugo 0.31.1" />
		<title>更改 Ubuntu 软件源 &middot; node</title>
		<link rel="shortcut icon" href="http://nodejh.com/images/favicon.ico">
		<link rel="stylesheet" href="http://nodejh.com/css/style.css">
		<link rel="stylesheet" href="http://nodejh.com/css/highlight.css">
		

		
		<link rel="stylesheet" href="http://nodejh.com/css/font-awesome.min.css">
		

		
		<link href="http://nodejh.com/index.xml" rel="alternate" type="application/rss+xml" title="node" />
		
	</head>

    <body>
       <nav class="main-nav">
	
	
		<a href='http://nodejh.com/'> <span class="arrow">←</span>Home</a>
	
	<a href='http://nodejh.com/post'>Archive</a>
	<a href='http://nodejh.com/tags'>Tags</a>
	<a href='http://nodejh.com/projects'>Projects</a>
	<a href='http://nodejh.com/about'>About</a>

	

	
	<a class="cta" href="http://nodejh.com/index.xml">Subscribe</a>
	
</nav>


        <section id="wrapper" class="post">
            <article>
                <header>
                    <h1>
                        更改 Ubuntu 软件源
                    </h1>
                    <h2 class="headline">
                    Feb 7, 2017 13:08
                    · 1261 words
                    · 3 minutes read
                      <span class="tags">
                      
                      
                          
                              <a href="http://nodejh.com/tags/ubuntu">Ubuntu</a>
                          
                      
                      
                      </span>
                    </h2>
                </header>
                
                  
                    <div id="toc">
                      <nav id="TableOfContents">
<ul>
<li>
<ul>
<li><a href="#1-软件管理工具-apt-get">1. 软件管理工具 apt-get</a></li>
<li><a href="#2-软件源的分类">2. 软件源的分类</a></li>
<li><a href="#3-修改官方软件源">3. 修改官方软件源</a>
<ul>
<li><a href="#3-1-源列表">3.1 源列表</a></li>
<li><a href="#3-2-修改源列表">3.2 修改源列表</a></li>
</ul></li>
<li><a href="#4-修改-ppa-源">4. 修改 PPA 源</a></li>
</ul></li>
</ul>
</nav>
                    </div>
                  
                
                <section id="post-body">
                    <h2 id="1-软件管理工具-apt-get">1. 软件管理工具 apt-get</h2>

<p>Ubuntu 软件源本质上是一个软件仓库，我们可以通过 <code>sudo apt-get install &lt;package-name&gt;</code> 命令来从仓库中下载安装软件。</p>

<p></p>

<p>上面命令中提到的 <code>apt-get</code> 则是 Ubuntu 系统中的一个包管理工具，其常用的几个命令如下：</p>

<p><strong>安装软件</strong></p>

<pre><code>$ sudo apt-cache search &lt;package-name&gt;
</code></pre>

<p><strong>卸载软件</strong></p>

<pre><code>$ sudo apt-get remove &lt;package-name&gt;
</code></pre>

<p>只卸载软件，不删除配置文件等。</p>

<p><strong>完全卸载</strong></p>

<pre><code>$ sudo apt-get purge &lt;package-name&gt;
# 或
$ sudo apt-get remove &lt;package-name&gt; --purge
</code></pre>

<p>删除包括配置文件在内的所有文件。</p>

<p><strong>搜索软件</strong></p>

<pre><code>$ sudo apt-cache &lt;package-name&gt;
</code></pre>

<p>更多的关于 <code>apt-get</code> 的用法可使用 <code>man apt-get</code> 命令查看。</p>

<h2 id="2-软件源的分类">2. 软件源的分类</h2>

<p>Ubuntu 软件源分为两种：</p>

<ul>
<li>Ubuntu 官方软件源</li>
<li>PPA 软件源</li>
</ul>

<p>Ubuntu 官方软件源中包含了 Ubuntu 系统中所用到的绝大部分的软件，它对应的源列表是 <code>/etc/apt/sources.list</code>。</p>

<p>PPA 软件源即 Personal Package Archives（个人软件包档案）。有些软件没有被选入 UBuntu 官方软件仓库，为了方便Ubuntu用户使用，<a href="https://launchpad.net">Launchpad</a> 提供了 PPA，允许用户建立自己的软件仓库，自由的上传软件。PPA也被用来对一些打算进入Ubuntu官方仓库的软件，或者某些软件的新版本进行测试。</p>

<p>Launchpad 是 Ubuntu 母公司 Canonical 有限公司所架设的网站，是一个提供维护、支援或联络 Ubuntu 开发者的平台。</p>

<h2 id="3-修改官方软件源">3. 修改官方软件源</h2>

<p>由于在国内从 Ubuntu 官方源下载软件比较慢，所以我们通常需要更换软件源来加快下载速度。互联网上有很多开源镜像站点，下面列出了一些网站。</p>

<p>选择源列表的时候，可以先使用 <code>ping</code> 命令测试一下网络速度，选择最快的源。</p>

<h3 id="3-1-源列表">3.1 源列表</h3>

<p><strong>Ubuntu Sources List Generator</strong></p>

<ul>
<li><a href="https://repogen.simplylinux.ch">Ubuntu Sources List Generator</a></li>
</ul>

<p>可以在该网站上根据所处地区、Ubuntu发行版本等条件自动生成 Ubuntu 源。如我的 Ubuntu 版本号是 16.04，生成的源列表是：</p>

<pre><code>#------------------------------------------------------------------------------#
#                            OFFICIAL UBUNTU REPOS                             #
#------------------------------------------------------------------------------#


###### Ubuntu Main Repos
deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse

###### Ubuntu Update Repos
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
</code></pre>

<p>顺便给出查看 Ubuntu 版本号的命令：</p>

<pre><code>$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04 LTS
Release:	16.04
Codename:	xenial
</code></pre>

<p><strong>Ubuntu Wiki 源列表</strong></p>

<ul>
<li><a href="http://wiki.ubuntu.org.cn/源列表">Ubuntu Wiki 源列表</a></li>
</ul>

<p>该站点提供了大量的开源镜像，可以先根据自己的版本号，点击版本号后面的 <code>[详细]</code> 链接进入 <code>模板: Ubuntu source</code> 页面，该页面提供了很多可用的服务器列表</p>

<h3 id="3-2-修改源列表">3.2 修改源列表</h3>

<ol>
<li><p>首先备份源列表(for sure)</p>

<pre><code>$ sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
</code></pre></li>

<li><p>而后用gedit或其他编辑器打开</p>

<pre><code>$ sudo gedit /etc/apt/sources.list
# 或 vim
$ sudo vim /etc/apt/sources.list
</code></pre></li>

<li><p>从上面的列表中选择合适的源，替换掉文件中所有的内容，保存编辑好的文件。<strong>注意：一定要选对版</strong>本</p></li>

<li><p>然后，刷新列表</p>

<pre><code>$ sudo apt-get update
</code></pre>

<p><strong>注意：一定要执行刷新</strong></p></li>
</ol>

<h2 id="4-修改-ppa-源">4. 修改 PPA 源</h2>

<p>添加 PPA 软件源的命令：</p>

<pre><code>$ sudo add-apt-repository ppa:user/ppa-name
</code></pre>

<p>删除 PPA 软件源的命令：</p>

<pre><code>$ sudo add-apt-repository --remove ppa:user/ppa-name
</code></pre>

<p>比如 FireFox PPA 源，<a href="https://launchpad.net/~ubuntu-mozilla-daily/+archive/ppa">https://launchpad.net/~ubuntu-mozilla-daily/+archive/ppa</a> ，我们可以在这里找到 <code>ppa:ubuntu-mozilla-daily/ppa</code> 的字样，然后我们通过以下命令把这个源加入到 source list 中：</p>

<pre><code>$ sudo apt-add-repository ppa:ubuntu-mozilla-daily/ppa
</code></pre>

<p>关于 PPA 的源，可以通过 Google 搜索，也可以在 <a href="https://launchpad.net">https://launchpad.net</a> 网站搜索（可能效率比较低）。有的软件可能在官网提供了 PPA 源名称。</p>

<p>添加完成之后，就会在 <code>/etc/apt/sources.list.d/</code> 里面创建一个文件：<code>ubuntu-mozilla-daily-ubuntu-ppa-xenial.list</code>。现在来看看里面的内容：</p>

<pre><code>$ cat /etc/apt/sources.list.d/ubuntu-mozilla-daily-ubuntu-ppa-xenial.list
deb http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu xenial main
# deb-src http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu xenial main
</code></pre>

<p>可以发现其源列表格式其实和官方源一模一样。之所以把 PPA 和官方源区分开来，是因为第三方源可能没有十足的保障。</p>

<p>添加完成之后，依旧需要使用 <code>sudo apt-get update</code> 来刷新。</p>
                </section>
            </article>

            
                <a class="twitter" href="https://twitter.com/intent/tweet?text=http%3a%2f%2fnodejh.com%2fposts%2fchange-source-list-in-ubuntu%2f - %e6%9b%b4%e6%94%b9%20Ubuntu%20%e8%bd%af%e4%bb%b6%e6%ba%90 by @nodejh"><span class="icon-twitter"> tweet</span></a>

<a class="facebook" href="#" onclick="
    window.open(
      'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href),
      'facebook-share-dialog',
      'width=626,height=436');
    return false;"><span class="icon-facebook-rect"> Share</span>
</a>

            

            
                <div id="disqus_thread"></div>
<script type="text/javascript">
    var disqus_shortname = 'nodejh'; 

     
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>

            

            

            <footer id="footer">
    
        <div id="social">

	
	
    <a class="symbol" href="https://www.facebook.com/nodejh">
        <i class="fa fa-facebook-square"></i>
    </a>
    
    <a class="symbol" href="https://www.github.com/nodejh">
        <i class="fa fa-github-square"></i>
    </a>
    
    <a class="symbol" href="https://www.twitter.com/nodejh">
        <i class="fa fa-twitter-square"></i>
    </a>
    


</div>

    
    <p class="small">
    
       © Copyright 2018 <i class="fa fa-heart" aria-hidden="true"></i> 
    
    </p>
    <p class="small">
        Powered by <a href="http://www.gohugo.io/">Hugo</a> Theme By <a href="https://github.com/nodejh/hugo-theme-cactus-plus">nodejh</a>
    </p>
</footer>

        </section>

        <script src="http://nodejh.com/js/jquery-2.2.4.min.js"></script>
<script src="http://nodejh.com/js/main.js"></script>
<script src="http://nodejh.com/js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>




  
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-84989670-1', 'auto');
ga('send', 'pageview');
</script>





    </body>
</html>
